#ifndef CONFIG_H
#define CONFIG_H

#include <stdbool.h>
#include <stdint.h>

enum INPUTS {
  SESSION_SWITCH,
  LOGIN_INPUT,
  PASSWORD_INPUT,
};


// a struct with many filed, I am wondering can I cut off some filed into another struct, like argrate
struct lang {
  char* capslock;
  char* err_alloc;
  char* err_bounds;
  char* err_chdir;

  char* err_console_dev;
  char* err_dgn_oob;
  char* err_domain;
  char* err_hostname;

  char* err_mlock;
  char* err_null;
  char* err_pam;
  char* err_pam_abort;
  
  char* err_pam_acc_expired;
  char* err_pam_auth;
  char* err_pam_authinfo_unavail;
  char* err_pam_authok_reqd;// LINE:

  char* err_pam_buf;
  char* err_pam_cred_expired;
  // TODO:
  char* err_pam_cerd_unavail;
};

struct config {
  bool animate;
  uint8_t animation;
  char asterisk;
  uint8_t bg;// LINE: 67

  bool bigclock;
};

extern struct lang lang;
extern struct config config;

void config_handle_str(void *data, char **pars, const int pars_count);
void lang_load();
void config_load();
void lang_defaults();
void config_defaults();
void lang_free();
void config_free();
#endif//CONFIG_H
